A database system can collect, store, manage, and analyze data. In recent years, technology of large-size database systems such as mass structured or unstructured data sets and big data processing for extracting a value from the data and analyzing a result has been developed.
When the database system performs a database operation, the database system utilizes a buffer cache for decreasing an I/O time. For example, when a node included in the database system intends to change data recorded in a persistent storage medium, the node loads data from the persistent storage medium, stores the loaded data in the buffer cache, changes an object stored in the buffer cache, and thereafter, reflects the changed data to the persistent storage medium.
Various errors may occur in the database system. For example, all nodes included in the database system may not operate. Further, a predetermined node among a plurality of nodes may not operate and a part of the persistent storage medium may not operate.
In this case, recovering a block is required for preventing a loss of data caused due to the error which occurs. For example, when the error occurs in the node after changing the object stored in the buffer cache, and before reflecting the changed object to the persistent storage medium, an error may occur, in which the changed object is not reflected to the persistent storage medium. In this case, a recovery for reflecting the changed object to the block is required.
A data recovery by the existing scheme is performed by one node to cause a lot of inefficiency. Accordingly, research into an efficient data recovery method is required.